package com.ruoyi.common.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * Created by admin on 2017/9/4.
 * 创建订单编号
 * OrderType 订单类型
 */

public class OrderUtil {

//    /**
//     * OrderType 1、搭车订单类型;2、外卖订单类型;3、商城杂货订单类型
//     * **/
//    public static String getOrderNo(String OrderType){
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
//        int hashCodeV = UUID.randomUUID().toString().hashCode();
//        if(hashCodeV < 0) {//有可能是负数
//            hashCodeV = - hashCodeV;
//        }
//        return  formatter.format(new Date())+OrderType+String.format("%011d", hashCodeV);
//    }

    /**
     * 获取商城中订单号
     * **/
    public static String getGoodsOrderNo(){
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
        int hashCodeV = UUID.randomUUID().toString().hashCode();
        if(hashCodeV < 0) {//有可能是负数
            hashCodeV = - hashCodeV;
        }
        return  formatter.format(new Date())+String.format("%011d", hashCodeV);
    }

    /***
     * 生成指定长度的随机数
     * **/
    public static String getSecurityCode(int length) {
        // 数字集合  如果需要带字符，则直接添加
        char[] codes = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
        // 获取字符集合的长度
        int n = codes.length;
        // 存放抽出的验证码
        char[] result = new char[length];
        // 不允许重复
        for (int i = 0; i < result.length; i++) {
            int r = (int) (Math.random() * n);
            result[i] = codes[r];
            // 必须确保不会再次抽取到那个字符，因为所有抽取的字符必须不相同。所以把已经选中的字符从codes中去除
            codes[r] = codes[--n];
        }
        return String.valueOf(result);
    }
}
